Rotinas e subcircuitos
Por meio deste módulo é possível criar e gerenciar o funcionamento de rotinas nos fluxos de circuito e sub-circuitos.
O cadastro do circuito é feito em duas fases:
Acesse: Senior X > Gestão Logística > Otimização Logística > Gestão de Pátio > Definições Principais > Circuito
Ao entrar a tela exibe um painel dos Circuitos Cadastrados,
- Ainda neste painel use botão, Adicionar para cadastrar um novo circuito;
- Ao clicar é exibido um painel Dados Gerais;
- Preencha os campos conforme à necessidade:
- Descrição: faça a descrição que desejar;
- Tipo de agendamento: clique na lupa de pesquisa, ao abrir selecione o Tipo de atividade;
- Carregamento ou
- Descarregamento
- Clique em Selecionar;
- Planta: selecione a planta de interesse;
- Use botão, Salvar
Somente após o término do cadastro por tipo de agendamento é possível cadastrar a sequência do circuito
No painel Dados Relacionados
- Clique em Adicionar
- Informe os campos
- Descrição: faça a descrição que desejar;
- Área: utilize a lupa, e selecione a área de interesse
- Sequência: referente ao fluxo de movimentação do veículo.
- Planta do circuito: exibe a descrição da planta que foi vinculada a área.
- Avançar etapa manual: permite movimentar as etapas manualmente no controle de circuito;
- Reverter etapa manual: permite movimentar as etapas manualmente no controle de circuito.
- Use botão, Salvar.
O sub-circuito é um circuito menor criado como um módulo embutido em circuitos maiores, onde, através de uma condição o veículo é encaminhado para uma área utilizando um sub-circuito e após a finalização deste, o veículo pode retornar para a próxima área do circuito principal.
Acesse: Senior X > Gestão Logística > Otimização Logística > Gestão de Pátio > Definições Principais > Circuito.
- No painel Dados Gerais:
- Habilite os campos;
- Marque a opção sub-circuito
; - Clique em Salvar;
- O circuito cadastrado aparecerá na tela de Controle de Circuito.

A rotina é uma sequência de ações que podem ser cadastradas em ambos processos, circuito ou sub-circuito. Obedece regras pré-definidas com cada componente cumprindo seu papel, assim, permite analisar variáveis que de acordo com uma condição, diferentes decisões podem ser tomadas.
Acesse: Senior X > Gestão Logística > Otimização Logística > Gestão de Pátio > Definições Principais > Circuito.
Você pode adicionar um novo circuito ou escolher um circuito já cadastrado e seguir o passo a passo.
1. Informe os dados do painel Dados Relacionados
- Escolha a área de interesse a ao lado direito > botão Ações > Rotinas
- Na tela que abre, use o botão Adicionar;
- No campo Gatilho, escolha o momento em que o questionário será aberto (se na "Entrada" ou na "Saída");
- Entrada - quando adicionado o comando "confirmação de chegada"
- Em operação - quando adicionado comando operacionais dentro do pátio
- Escolha a rotina da forma que achar mais relevante com o fluxo;
- Clique em Avançar;
- Se necessário, é possível realizar qualquer alteração pelo botão Ações > Editar.
2. Adicione Rotinas e Comandos
No painel Adicionar Comandos do lado direito da tela é apresentada uma paleta de comandos, onde será escolhido o tipo de rotina e o comando.
- Tipo de Rotina
- Clique na aba Tipos de Rotinas e escolha a opção fluxo automatizado, independentemente do tipo de gatilho ("entrada" ou "em operação"), a escolha do comando sempre será esta, pois, essa rotina automatiza o controlador executando as seqüências e comandos automaticamente;
- Escolha a rotina da forma que achar mais relevante com o fluxo;
- Uma vez escolhida arraste-a até o quadro de comando para a construção do fluxo;
- Após o término clique em Salvar
| Tipo de Rotinas | Descrição |
|
|
|
|
|
|
|
|
|
|
- Tipo de Comando
- Na mesma paleta de comando;
- Na é apresentada uma paleta de comandos que podem ser escolhidos da forma que achar mais relevante com o fluxo;
- Uma vez escolhido, arraste-o até o quadro de comandos para a construção do fluxo da rotina;
- Após o término clique em Salvar.
Conforme o tipo de comando escolhido, outros campos são abertos automaticamente e devem ser habilitados para a configuração correta do fluxo da rotina.
| Comandos | Descrição |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
![]() |
|
|
|
|
|
|
|
|
|
|
|
Sim, para excluí-lo é só clicar no comando e a opção "apagar" será aberta.
Conforme rotinas e gatilhos selecionados a rotina é executada em Controle de Operação.
As rotinas ficam salvas em Controle de Chegada.
Para visualizá-las siga esses passos:
- No gráfico abaixo selecione o veículo de interesse;
- Clique no menu lateral;
- Na sequência selecione a opção Detalhes;
- Na tela que abre ao lado direito, clique em Dados. Desta forma, é possível verificar todas as informações das rotinas salvas do veículo selecionado. Para visualizar o relatório você deve clicar no ícone de impressora.
Observação
No questionário, se houver alguma informação não preenchida, os dados em branco também serão salvos e apresentados na visualização do relatório.
O que mais você pode fazer:
O webhook é uma forma de conectar sistemas, enviando informações automaticamente quando um evento acontece.
Aqui no Gestão de Pátio, é utilizado no comando Aguardar Sistema Externo, dentro do Tipo de Processo Validar Questionário. Isso significa que a validação do questionário é realizada por um sistema externo, que recebe a notificação, processa as informações e retorna a resposta necessária para dar continuidade ao circuito.
Acesse Senior X > Tecnologia > Customização > Events hub > Webhooks
- No painel Webhooks, clique em Novo;
- Na tela que se abre, no campo Evento, insira o texto CircuitoEmEsperaPorLiberacaoDoSistemaExterno, ao carregar, é exibido o caminho yms/integration/circuitoEmEsperaPorLiberacaoDoSistemaExterno;
- Ao selecionar, na mesma tela, em Endpoints Cadastrados, clique em Novo;
- Informe a URL do endpoint;
- Para receber a notificação do evento Validar Questionário, adicione no Payload Filter a informação $[?(@.processType == 'VALIDATE_QUESTIONNAIRE')];
- Para finalizar, clique em Adicionar.
Para visualizar as informações inseridas no questionário, é necessário fazer uso da API:
URL:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView
Exemplo JSON:
{
"totalPages": 3,
"totalelements": 23,
"contents": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"execucaoCircuitoId": "string",
"sequenciaCircuitoId": "string",
"titulo": "string",
"pergunta": "string",
"resposta": "string",
"createdBy": "string",
"createdDate": "2025-01-09T14:06:02.899Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2025-01-09T14:06:02.899Z"
}
No resultado do HTTP GET, existem dois atributos que informam a quantidade de registros e a quantidade de páginas.
- totalPages: número de páginas existentes de dados, cujo valor é calculado dividindo-se o total de elementos pela quantidade de elementos por página. O valor será 10 quando o parâmetro size não é informado na URL;
- totalElements: número total de registros retornado pela query executada.
Para definir quais registros serão retornados, use os parâmetros offset e size. O size indica a quantidade de registros na página, e o offset especifica o número da página a ser recuperada, lembrando que a numeração de páginas começa em 0 (zero).
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?size=5
O resultado será 5 registros por página e o totalPages será igual a 5.
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?size=5&offset=2
O resultado será 5 registros da página 2.
Requisição com ordenação
Para fazer uma requisição com ordenação, adicione o parâmetro orderby à URL, seguido de um sinal de =, e após um ou mais atributos da entidade pelo qual deseja-se fazer à ordenação:
Atributo padrão:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?orderby=titulo
Caso haja a necessidade de ordenação em ordem decrescente, adicione um espaço em branco e o termo desc após o nome do atributo na URL:
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?orderby=titulo+desc
Para utilizar mais de um atributo na ordenação, separe por vírgula:
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?orderby=titulo+desc,pergunta
Busca de registros com filtro
Ao efetuar uma chamada HTTP GET para uma entidade gerada, por padrão, são retornados todos os registros da entidade. Porém, é possível passar um filtro para restringir os registros retornados.
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?filter=id ge 100 and id le 1000
O exemplo acima retorna todos os registros da entidade circuitQuestionnaireView cujos IDs estiverem entre 100 e 1000 inclusive.
Exemplo:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/patio/entities/circuitQuestionnaireView?filter=titulo eq ‘caminhão ok?’ and containing(upper(resposta), upper(‘ok’))
Já esse exemplo, retorna todos os registros da entidade circuitQuestionnaireView onde o título for igual a caminhão ok? e a resposta (atributo resposta) contiver o texto ok. Perceba o uso da função upper (converte o texto para maiúsculo) que torna a busca no atributo resposta case insensitive.
Abaixo é apresentada uma tabela contendo os operadores e funções suportados pela busca com filtro:
| Operador | Descrição | Exemplo |
| eq | = (igual) | ?filtrer=id eq 10 |
| ne | <> (diferente) | ?filtrer=id ne 10 |
| lt | < (menor que) | ?filtrer=id lt 10 |
| gt | > (maior que) | ?filtrer=id gt 10 |
| le | <= (menor ou igual) | ?filtrer=id le 10 |
| ge | >= (maior que) | ?filtrer=id ge 10 |
| is [not] | Verifica se parâmetro é nulo | ?filtrer=id is null |
| containing | Contendo valor da direita no atributo da esquerda | ?filtrer=containing(name, 'albert') |
| upper | Função da caixa alta | ?filtrer=containing(upper(name), upper('Albert')) |
| and | E | ?filtrer=id eq 10 and status eq 'y' |
| or | Ou | ?filtrer=id eq 10 or id eq 20 |
O Gestão de Pátio aguardará receber o retorno do sistema externo para dar sequência no circuito.
Isso é possível através do uso da API, que responde uma solicitação onde aguardará pelo comando Aguardar Sistema Externo.
URL:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/yms/integration/actions/ responseFrom3dParty
Exemplo JSON:
{
"system": "string",
"processType": "string",
"key": "string",
"response": "string"
}
Para obter o token é necessário rodar a API de login da plataforma.
URL:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/authentication/actions/login
{
"username": "exemplo@email.com",
"password": "Ex3mpl0"
}
Exemplo de retorno:
É utilizado o access_token, com o Auth Type = Bearer Token.
Para mais informações sobre API, acesse Integração via API
Ao adicionar o comando Enviar e-mail, é aberta a tela Pré-visualização sem nenhum valor preenchido. Para configurar, clique em qualquer campo nesta tela, que, na sequência abrirá o Modo de edição, permitindo editar os campos Para (e-mail do destinatário), Assunto e Mensagem.
É possível utilizar as variáveis especiais para personalizar a mensagem. Essas variáveis são exibidas em Variáveis disponíveis, logo abaixo da Mensagem.
Para adicionar uma variável especial ao corpo da mensagem, digite o sinal {{. A partir disso, será aberta uma caixa de sugestão, onde você poderá selecionar a variável desejada com um clique.
- Descrição do Tipo de Agendamento
- Descrição da Agenda
- Código da Agenda
- Empresa da Agenda
- Status da Agenda
- Observação da Agenda
- Quem criou a Agenda
- Último que Modificou a agenda
- Descrição do Circuito
- Código da Planta
- CPF do Motorista
- Nome do Motorista
- Descrição do Veículo
- Placa do Veículo
- Capacidade Total do Veículo
- Eixos do Veículo
- Quem criou a execução do circuito
- Último que Modificou a execução do circuito
- Questionários
Após configurar, quando a agenda atingir esse ponto durante a execução do circuito, o e-mail será enviado automaticamente conforme as configurações realizadas.
Ao adicionar o comando Gerar Ticket, a tela para configuração é aberta sem nenhum valor preenchido. Adicione um título, no campo Título do Ticket e, em seguida, preencha as informações desejadas no campo Montagem do ticket.
É possível utilizar as variáveis para personalizar o ticket. Essas variáveis são exibidas em Variáveis disponíveis, logo abaixo da Montagem do ticket.
Para adicionar uma variável, digite o sinal {{. A partir disso, será aberta uma caixa de sugestão, onde você poderá selecionar a variável desejada com um clique.
- Descrição do Tipo de Agendamento
- Descrição da Agenda
- Código da Agenda
- Empresa da Agenda
- Status da Agenda
- Observação da Agenda
- Quem criou a Agenda
- Último que Modificou a agenda
- Descrição do Circuito
- Código da Planta
- CPF do Motorista
- Nome do Motorista
- Descrição do Veículo
- Placa do Veículo
- Capacidade Total do Veículo
- Eixos do Veículo
- Quem criou a execução do circuito
- Último que Modificou a execução do circuito
- Peso de Entrada
- Peso de Saída
- Peso Líquido
No Controle de Circuito, o ticket gerado fica disponível na aba Dados, para download em PDF e impressão.
O comando Capturar Foto aciona a câmera do dispositivo para tirar uma imagem e armazená-la ou usá-la no sistema.
Para sistemas terceiros é possível a captura de fotos em situações onde a conexão com o servidor é instável ou temporariamente indisponível. Desta forma, permite a captura e o armazenamento fotos localmente, e posteriormente enviá-las quando a conexão for restabelecida, garantindo que o fluxo do circuito não seja interrompido por problemas de conectividade.
Na configuração do comando no circuito, a opção Aceitar foto offiline fica disponível para uso.
O funcionamento da funcionalidade depende da habilitação do feature toggle featureCameraEscrava no ambiente. Quando habilitado, o sistema verificará se existem fotos offline disponíveis antes de tentar capturar uma nova foto.
O sistema terceiro deve:
- Detectar quando está offline
- Capturar e armazenar as fotos localmente
- Detectar quando a conexão é restabelecida
- Enviar as fotos armazenadas utilizando o endpoint sendOfflineSnapshot
Permissão necessária para envio da foto offline e consumo das API da entidade:
res://senior.com.br/yms/integration/entities/offlinePhoto
Para enviar uma foto offline é necessário a ação de Incluir.
O Webservice sendOfflineSnapshot permite o envio de fotos capturadas offline
{
"execucaoCircuitoId": "UUID do circuito",
"cameraId": "UUID da câmera",
"image": "imagem em base64",
"taken_at": "2025-06-12T14:00:00Z",
"observacao": "Observação opcional sobre a foto"
}
English
Español

English
Español


